package com.zgc.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.zgc.dao.ISourceItemDao;
import com.zgc.domain.PageBean;
import com.zgc.domain.SourceItem;
import com.zgc.service.ISourceItemService;
@Service
@Transactional
public class SourceItemServiceImpl implements ISourceItemService {
	@Resource
	private ISourceItemDao sourceItemDao;

	public List<SourceItem> queryAllItem() {
		List<SourceItem> list = sourceItemDao.queryAllItem();
		return list;
	}

	public List<SourceItem> queryItemByStatus(int status) {
		List<SourceItem> list = sourceItemDao.queryItemByStatus(status);
		return list;
	}

	public SourceItem qryItemById(int itemId) {
		return sourceItemDao.qryItemById(itemId);
		
	}

	public void update(SourceItem sourceItem) {
		sourceItemDao.update(sourceItem);	
	}

	public List<SourceItem> queryItemByStatus(int status, Integer uid) {
		return sourceItemDao.queryItemByStatus(status,uid);
	}

	public void insertSourceItem(SourceItem sourceItem) {
		sourceItemDao.insertSourceItem(sourceItem);
	}

	/**   
	 * 分页查询     
	 * @param pageSize  每页显示多少记录   
	 * @param currentPage 当前页   
	 * @return 封装了分页信息的bean   
	 */    
	public PageBean queryForPage(int pageSize, int page,String hql) {    
	int allRow = sourceItemDao.getAllRowCount(hql);  //总记录数    
	int totalPage = PageBean.countTatalPage(pageSize, allRow); //总页数    
	final int offset = PageBean.countOffset(pageSize, page); //当前页开始记录    
	final int length = pageSize; // 每页记录数    
	final int currentPage = PageBean.countCurrentPage(page); // 当前页    
	List list = sourceItemDao.queryForPage(hql, offset, length); //    
	//把分页信息保存到Bean当中    
	PageBean pageBean  = new PageBean();    
	pageBean.setPageSize(pageSize);    
	pageBean.setCurrentPage(currentPage);    
	pageBean.setAllRow(allRow);    
	pageBean.setTotalPage(totalPage);    
	pageBean.setList(list);    
	pageBean.init();    
	return pageBean;    
	}    
	
	
}
